<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			ENTRADA DE INVENTARIO
		</ui:define>
	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />
		<p:panel id="panel" header="ENTRADA DE INVENTARIO"
			style="margin-bottom:10px;">

			<h:form id="formCabecera">
				<p:focus for="formCabecera" />
				<h:panelGrid columns="3">
					<h:outputText value="CEDULA-NOMBRE:" styleClass="negrita" />
					<p:inputText readonly="true" style="width: 150%;"
						value="#{ingresoBean.proveedor.cedula} - #{ingresoBean.proveedor.nombre} #{ingresoBean.proveedor.apellido}" />
					<p:commandButton oncomplete="PF('buscarProveedor').show()"
						icon="#{msg['iconoBuscar']}" style="left:380%;"
						action="#{ingresoBean.limpiarObjetosBusquedaProveedor}"
						update=":formBusquedaProveedor" />

					<h:outputText style="font-weight: bold;" value="TIPO DOCUMENTO:" />
					<p:selectOneMenu
						value="#{ingresoBean.ingreso.tipodocumento.tipodocumentoid}"
						filter="true" filterMatchMode="contains">
						<f:selectItem itemLabel="ESCOJA UN TIPO DE DOCUMENTO" />
						<f:selectItem itemValue="1" itemLabel="FACTURA" />
						<f:selectItem itemValue="8" itemLabel="NOTA DE ENTREGA" />
					</p:selectOneMenu>
					<h:outputText value="" />

					<h:outputText style="font-weight: bold;" value="CÓDIGO DOCUMENTO:" />
					<p:inputText value="#{ingresoBean.ingreso.codigodocumento}"
						styleClass="txtFormNuevo" />
					<h:outputText value="" />

					<p:outputLabel style="font-weight: bold;" value="FECHA DOCUMENTO" />
					<p:calendar value="#{ingresoBean.ingreso.fechafactura}"
						navigator="true" />
					<h:outputText value="" />

					<p:outputLabel value="TOTAL DE LA FACTURA"
						style="font-weight: bold;" />
					<p:inputText value="#{ingresoBean.ingreso.total}" />
					<h:outputText value="" />

					<p:outputLabel value="PAGADO" style="font-weight: bold;" />
					<p:selectBooleanCheckbox value="#{ingresoBean.ingreso.pagado}" />
					<h:outputText value="" />

					<p:commandButton value="GUARDAR"
						update=":formCabecera, formCabecera, :formDataTable, :mensaje"
						id="btnGuardar" icon="ui-icon-disk"
						actionListener="#{ingresoBean.insertar}" />

					<p:commandButton value="NUEVO"
						update=":formCabecera, formCabecera, :formDataTable"
						id="btnlimpiar" icon="ui-icon-document"
						actionListener="#{ingresoBean.cancelarTodo}" process="@this" />
				</h:panelGrid>
			</h:form>
		</p:panel>

		<p:dialog header="BUSCAR PROVEEDOR" widgetVar="buscarProveedor"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoProveedor" width="50%">

			<h:form id="formBusquedaProveedor">
				<p:outputLabel value="CEDULA/RUC/NOMBRE/APELLIDO:"
					styleClass="negrita" />
				<p:inputText id="comboCedula"
					value="#{ingresoBean.criterioProveedorBusqueda}"
					onblur="this.value=this.value.toUpperCase();" />

				<p:commandButton
					update="formBusquedaProveedor, :formBusquedaProveedor:tablaProveedor,:mensaje"
					icon="#{msg['iconoBuscar']}"
					actionListener="#{ingresoBean.obtenerProveedoresPorBusqueda}" />

				<p:dataTable id="tablaProveedor" var="proveedor"
					value="#{ingresoBean.listaProveedorBusqueda}" paginator="true"
					rows="10" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" rowKey="#{proveedor.personaid}"
					selection="#{ingresoBean.proveedor}" selectionMode="single">

					<p:ajax event="rowSelect" update=":formCabecera"
						listener="#{ingresoBean.cargarProveedor}"
						oncomplete="PF('buscarProveedor').hide()" />

					<p:column headerText="CEDULA" style="text-align:center;width: 15%;">
							 	#{proveedor.cedula}
						</p:column>

					<p:column headerText="APELLIDO" style="text-align:center">
							 	#{proveedor.apellido}
						</p:column>

					<p:column headerText="NOMBRE" style="text-align:center">
							 	#{proveedor.nombre}
						</p:column>
				</p:dataTable>
			</h:form>
		</p:dialog>

		<h:form id="formDataTable">

			<p:dataTable id="tablaDetalleIngresos" var="detalleIngreso"
				scrollable="true" styleClass="ui-datatable-scrollable-body"
				value="#{ingresoBean.ingreso.detalleingresos}" paginator="true"
				rows="10" editable="true" editMode="cell"
				emptyMessage="#{msg['lbl.mensajeTabla']}" paginatorPosition="bottom">

				<f:facet name="header">
					<p:tooltip for="btnNuevo" value="#{msg['lbl.insertar']}" />
					<p:commandButton
						update=":formInsertarProducto, :formBusquedaProducto, :mensaje"
						actionListener="#{ingresoBean.limpiarObjetosBusquedaProductos}"
						oncomplete="PF('detalleIngresoDialogoNuevo').show()" id="btnNuevo"
						icon="ui-icon-plus" />
				</f:facet>

				<p:column headerText="GESTIONAR" style="text-align:center;">

					<p:tooltip for="btnEliminar" value="ELIMINAR" />
					<p:commandButton id="btnEliminar" update=":formEliminar"
						oncomplete="PF('detalleIngresoDialogoEliminar').show()"
						icon="#{msg['iconoEliminar']}">
						<f:setPropertyActionListener value="#{detalleIngreso}"
							target="#{ingresoBean.detalleIngreso}" />
					</p:commandButton>

				</p:column>

				<p:column headerText="NOMBRE DEL PRODUCTO" width="50%"
					filterBy="#{detalleIngreso.producto.nombreimprimir}"
					style="text-align:center;padding-left: 0px;">
					<p:inputText style="width:100%;" id="nombre"
						value="#{detalleIngreso.producto.nombreimprimir}" />
					<p:tooltip for="nombre"
						value="#{detalleIngreso.producto.nombreimprimir}"
						style="text-align:center;" />
				</p:column>

				<p:column headerText="CANTIDAD" style="text-align:center;">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{detalleIngreso.cantidad}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText value="#{detalleIngreso.cantidad}" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="PRECIO COSTO" style="text-align:center;">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{detalleIngreso.precio}" />
						</f:facet>
						<f:facet name="input">
							<p:inputText value="#{detalleIngreso.precio}" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="BODEGA" style="text-align:center;">  
            			#{detalleIngreso.bodega.nombre}  
        		</p:column>

			</p:dataTable>
		</h:form>

		<p:dialog widgetVar="detalleIngresoDialogoEliminar" severity="alert"
			header="ELIMINAR PRODUCTO" showEffect="explode" hideEffect="shake"
			modal="false" resizable="false" width="210px">
			<h:form id="formEliminar">
				<br />
				<p:outputLabel value="¿ ESTA SEGURO DE ELIMINAR ?" />
				<br />
				<br />
				<p:commandButton value="ACEPTAR" update=":formDataTable,:mensaje"
					icon="ui-icon-check"
					oncomplete="PF('detalleIngresoDialogoEliminar').hide()"
					actionListener="#{ingresoBean.eliminarDetalle}" />
				<p:commandButton value="CANCELAR" type="button"
					onclick="PF('detalleIngresoDialogoEliminar').hide()"
					icon="ui-icon-close" />
			</h:form>
		</p:dialog>

		<p:dialog header="INGRESO DE PRODUCTO"
			widgetVar="detalleIngresoDialogoNuevo" resizable="false"
			modal="false" showEffect="clip" hideEffect="fold" id="dialogoNuevo"
			width="50%">

			<h:form id="formInsertarProducto">
				<h:outputText value="EAN / CÓDIGO1 / CÓDIGO2 / NOMBRE " />
				<p:inputText value="#{ingresoBean.criterioProductoBusqueda}"
					onblur="this.value=this.value.toUpperCase();" />

				<p:commandButton
					update="formInsertarProducto, :formBusquedaProducto:tablaProductos, :mensaje"
					icon="#{msg['iconoBuscar']}"
					actionListener="#{ingresoBean.obtenerProductosPorBusqueda}" />
			</h:form>

			<h:form id="formBusquedaProducto">

				<p:focus context="formBusquedaProducto" />

				<p:dataTable id="tablaProductos" var="producto"
					value="#{ingresoBean.listaProductoBusqueda}" paginator="true"
					rows="5" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" rowKey="#{producto.productoid}"
					selection="#{ingresoBean.producto}" selectionMode="single">

					<p:ajax event="rowSelect"
						update=":formBusquedaProducto:txtPrecioActualCosto" />

					<p:column headerText="EAN" style="width: 20%;">
							 	#{producto.ean}
						</p:column>

					<p:column headerText="NOMBRE">
							 	#{producto.nombreimprimir}
						</p:column>

				</p:dataTable>

				<h:panelGrid id="panelNuevo" columns="2">

					<h:outputText value="BODEGA" />
					<p:selectOneMenu value="#{ingresoBean.bodega.bodegaid}"
						filter="true" filterMatchMode="contains">
						<f:selectItem itemLabel="ESCOJA UNA BODEGA" id="comboFormNuevo2" />
						<f:selectItems value="#{ingresoBean.listaBodegas}" var="bodega"
							itemValue="#{bodega.bodegaid}" itemLabel="#{bodega.nombre}" />
					</p:selectOneMenu>

					<h:outputText value="CANTIDAD" />
					<p:inputText value="#{ingresoBean.detalleIngreso.cantidad}"
						styleClass="txtFormNuevo" />

					<h:outputText value="P. COSTO ACTUAL" />
					<p:inputText id="txtPrecioActualCosto"
						value="#{ingresoBean.producto.precio}" readonly="true"
						styleClass="txtFormNuevo" />

					<h:outputText value="PRECIO COSTO" />
					<p:inputText value="#{ingresoBean.detalleIngreso.precio}"
						styleClass="txtFormNuevo" />

					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="GUARDAR"
							update=":formDataTable ,:mensaje, formBusquedaProducto"
							oncomplete="comprobarDetalleIngreso(xhr, status, args);"
							id="btnNuevoAceptar" icon="ui-icon-disk"
							actionListener="#{ingresoBean.insertarDetalle}"
							styleClass="centrarBotonesDialogos" />

						<p:commandButton value="CANCELAR"
							oncomplete="PF('detalleIngresoDialogoNuevo').hide()"
							id="btnNuevolimpiar" icon="ui-icon-close"
							actionListener="#{ingresoBean.cancelar}" process="@this"
							styleClass="centrarBotonesDialogos" />
					</f:facet>

				</h:panelGrid>
			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobarDetalleIngreso(xhr, status, args) {
				if (args.error) {
					PF('detalleIngresoDialogoNuevo').hide();
				}
			}
			function comprobarProducto(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('productoDialogoNuevo').hide();
				}
			}
			function comprobarIngreso(xhr, status, args) {
				if (args.error) {
					PF('nuevoEntradaDialogo').show()
				} else {
					PF('nuevoEntradaDialogo').hide()
				}
			}
			//]]>
		</script>


	</ui:define>

</ui:composition>
</html>
